Semi-automatic Generation of Parallelizable Patterns from Source Code Examples

نویسندگان

  • Dejan Markovic
  • Jack R. Hagemeister
  • Cauligi S. Raghavendra
  • Sanjay Bhansali
چکیده

Generation of program patterns from source code is a difficult, time consuming and error-prone process when performed by programmers. We describe an implemented system which generates patterns from an abstract syntax tree with interaction by the user. Our approach is based on creating intermediate pattems by exploring d.m dependencies in the source code and allowing the user to change andor eliminate parts of it in order to create a final pattern. We describe the architecture of our system as well as the pattem language used, and illustrate our upproach with examples.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Source Code Generation Support System Using Design Pattern Documents Based on SGML

Applying design patterns to design of an application makes it robust against issues related to extensibility and maintainability. However, currently, a designer must apply structures and constraints of design patterns to an application by hand, therefore mistakes can occur often. We have proposed a notation using SGML for describing design patterns and a support system for design patterns. We a...

متن کامل

A Catalog of Patterns for Program Generation

Generation of source code is becoming a more and more important tool for software engineering, especially in the context of model drien development and MDA. While it is possible in theory to „generate code“ just using printf, this approach is insufficient in all but the most trivial cases. However, there are several alternatives. This paper introduces a set of patterns that describe the most co...

متن کامل

Semi-automatic Parallelization of Java Applications

Some types of time-consuming computations are naturally parallelizable. To take advantage of parallel processing, however, applications must be explicitly programmed to use specific libraries that share the workload among multiple (generally distributed) processors. In this paper, we present a set of Java tools that allow us to parallelize some types of computationally-intensive Java applicatio...

متن کامل

Semi-Automatic Instrumentation of Critical Distributed Applications: The eMIVA Toolkit

The approach presented in this paper aims to support developers by delivering methods and IDE-based tools for semi-automatic source code instrumentation that improve efficiency and consistency of the instrumentation process, and thus reduces the overall effort to be put into instrumentation. Our solution focuses on code generation for logging and performance monitoring purposes. The resulting t...

متن کامل

PAP Recognizer: A Tool for Automatic Recognition of Parallelizable Patterns

Techniques for Automatic Program Comprehension can play a crucial role in overcoming limitations of existing tools for the automatic parallelization of programs for distributed-memory architectures. Uses of a program recognition-based parallelization procedure could range from the automatic selection of a data distribution , via the automatic selection of sequences of optimizing transformations...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997